package com.itheima.sh.clients;

import com.itheima.sh.clients.fallback.UserFeginFallBack;
import com.itheima.sh.pojo.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
/*
* 第一步 ——> 第二步通过路径 ——> 第三步注册服务名 到 Eureka,拉取服务列表——> 第四步基于Ribbon负载均衡算法 获取IP和端口
*
* ——>第五步URL拼接完成 ——> 第六步 Feign为接口实现代理对象，存放到 客户端的IOC容器中。——> 第七步发起远程调用
*
* */
@FeignClient(value = "user-service",fallback = UserFeginFallBack.class)       //绑定服务名
public interface UserFeign {
    @GetMapping("/user/{id}")       //调用service生产者 ，路径一定与生产者contoller层相同
    public User queryById(@PathVariable("id") String username);
}
